package com.his.bean;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.models.auth.In;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * HIS用户表
 * @TableName dzm_his_member
 */
public class DzmHisMember implements Serializable {
    /**
     * 用户id
     */
    private Integer uid;

    /**
     * 登录名
     */
    private String userName;

    /**
     * 登录密码
     */
    private String passWord;

    /**
     * 最后一次登录时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date lastLoginTime;

    /**
     *
     */
    private Integer lastLoginIp;

    /**
     * 注册时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date createTime;

    /**
     * 是否允许用户登录( 1 是  2否) 3 删除
     */
    private Integer status;

    /**
     * 医院id，用于区分用户类型及其医生所属诊所
     */
    private Integer pId;

    /**
     * 1,管理员，2，医生，3.护士，4，挂号员，5，收费员6，发药员，7，财务8，其他人员
     */
    private Integer type;

    /**
     * 科室id
     */
    private Integer departmentId;

    /**
     * 医生级别 0:其他  1:主治医师  2:副主任医师  3:主任医师  4:医士  5:医师  6:助理医师  7:实习医师  8:主管护师  9:护师  10:护士  11:医师助理  12:研究生  13:随访员
     */
    private Integer rank;

    /**
     * 二维码标识
     */
    private Integer qrid;

    /**
     * 用户授权登录openid
     */
    private String openid;

    /**
     * 用户余额
     */
    private BigDecimal moneyBalance;

    /**
     * 冻结中余额
     */
    private BigDecimal moneyLock;

    /**
     * 邀请码
     */
    private String recommentCode;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date updateTime;

    private static final long serialVersionUID = 1L;

    /**
     * 用户id
     */
    public Integer getUid() {
        return uid;
    }

    /**
     * 用户id
     */
    public void setUid(Integer uid) {
        this.uid = uid;
    }

    /**
     * 登录名
     */
    public String getUserName() {
        return userName;
    }

    /**
     * 登录名
     */
    public void setUserName(String userName) {
        this.userName = userName;
    }

    /**
     * 登录密码
     */
    public String getPassWord() {
        return passWord;
    }

    /**
     * 登录密码
     */
    public void setPassWord(String passWord) {
        this.passWord = passWord;
    }

    /**
     * 最后一次登录时间
     */
    public Date getLastLoginTime() {
        return lastLoginTime;
    }

    /**
     * 最后一次登录时间
     */
    public void setLastLoginTime(Date lastLoginTime) {
        this.lastLoginTime = lastLoginTime;
    }

    /**
     *
     */
    public Integer getLastLoginIp() {
        return lastLoginIp;
    }

    /**
     *
     */
    public void setLastLoginIp(Integer lastLoginIp) {
        this.lastLoginIp = lastLoginIp;
    }

    /**
     * 注册时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 注册时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 是否允许用户登录( 1 是  2否) 3 删除
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 是否允许用户登录( 1 是  2否) 3 删除
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 医院id，用于区分用户类型及其医生所属诊所
     */
    public Integer getpId() {
        return pId;
    }

    /**
     * 医院id，用于区分用户类型及其医生所属诊所
     */
    public void setpId(Integer pId) {
        this.pId = pId;
    }

    /**
     * 1,管理员，2，医生，3.护士，4，挂号员，5，收费员6，发药员，7，财务8，其他人员
     */
    public Integer getType() {
        return type;
    }

    /**
     * 1,管理员，2，医生，3.护士，4，挂号员，5，收费员6，发药员，7，财务8，其他人员
     */
    public void setType(Integer type) {
        this.type = type;
    }

    /**
     * 科室id
     */
    public Integer getDepartmentId() {
        return departmentId;
    }

    /**
     * 科室id
     */
    public void setDepartmentId(Integer departmentId) {
        this.departmentId = departmentId;
    }

    /**
     * 医生级别 0:其他  1:主治医师  2:副主任医师  3:主任医师  4:医士  5:医师  6:助理医师  7:实习医师  8:主管护师  9:护师  10:护士  11:医师助理  12:研究生  13:随访员
     */
    public Integer getRank() {
        return rank;
    }

    /**
     * 医生级别 0:其他  1:主治医师  2:副主任医师  3:主任医师  4:医士  5:医师  6:助理医师  7:实习医师  8:主管护师  9:护师  10:护士  11:医师助理  12:研究生  13:随访员
     */
    public void setRank(Integer rank) {
        this.rank = rank;
    }

    /**
     * 二维码标识
     */
    public Integer getQrid() {
        return qrid;
    }

    /**
     * 二维码标识
     */
    public void setQrid(Integer qrid) {
        this.qrid = qrid;
    }

    /**
     * 用户授权登录openid
     */
    public String getOpenid() {
        return openid;
    }

    /**
     * 用户授权登录openid
     */
    public void setOpenid(String openid) {
        this.openid = openid;
    }

    /**
     * 用户余额
     */
    public BigDecimal getMoneyBalance() {
        return moneyBalance;
    }

    /**
     * 用户余额
     */
    public void setMoneyBalance(BigDecimal moneyBalance) {
        this.moneyBalance = moneyBalance;
    }

    /**
     * 冻结中余额
     */
    public BigDecimal getMoneyLock() {
        return moneyLock;
    }

    /**
     * 冻结中余额
     */
    public void setMoneyLock(BigDecimal moneyLock) {
        this.moneyLock = moneyLock;
    }

    /**
     * 邀请码
     */
    public String getRecommentCode() {
        return recommentCode;
    }

    /**
     * 邀请码
     */
    public void setRecommentCode(String recommentCode) {
        this.recommentCode = recommentCode;
    }

    /**
     * 修改时间
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 修改时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }


    public DzmHisMember() {
    }

    public DzmHisMember(Integer uid, String userName, String passWord, Date lastLoginTime, Integer lastLoginIp, Date createTime, Integer status, Integer pId, Integer type, Integer departmentId, Integer rank, Integer qrid, String openid, BigDecimal moneyBalance, BigDecimal moneyLock, String recommentCode, Date updateTime) {
        this.uid = uid;
        this.userName = userName;
        this.passWord = passWord;
        this.lastLoginTime = lastLoginTime;
        this.lastLoginIp = lastLoginIp;
        this.createTime = createTime;
        this.status = status;
        this.pId = pId;
        this.type = type;
        this.departmentId = departmentId;
        this.rank = rank;
        this.qrid = qrid;
        this.openid = openid;
        this.moneyBalance = moneyBalance;
        this.moneyLock = moneyLock;
        this.recommentCode = recommentCode;
        this.updateTime = updateTime;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", uid=").append(uid);
        sb.append(", userName=").append(userName);
        sb.append(", passWord=").append(passWord);
        sb.append(", lastLoginTime=").append(lastLoginTime);
        sb.append(", lastLoginIp=").append(lastLoginIp);
        sb.append(", createTime=").append(createTime);
        sb.append(", status=").append(status);
        sb.append(", pId=").append(pId);
        sb.append(", type=").append(type);
        sb.append(", departmentId=").append(departmentId);
        sb.append(", rank=").append(rank);
        sb.append(", qrid=").append(qrid);
        sb.append(", openid=").append(openid);
        sb.append(", moneyBalance=").append(moneyBalance);
        sb.append(", moneyLock=").append(moneyLock);
        sb.append(", recommentCode=").append(recommentCode);
        sb.append(", updateTime=").append(updateTime);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }



}